<template>
    <el-alert :closable="false" show-icon="false" center type="info">
        生产任务执行过程相关操作：
        <el-button type="success" plain="false" size="small" @click="RunTaskClick">作业批次开工
            <i class="el-icon-switch-button el-icon--right"></i></el-button>
        <el-button type="danger" plain size="small" @click="TaskCancleClick">暂停批次作废
            <i class="el-icon-lock el-icon--right"></i>
        </el-button>       
    </el-alert>
</template>
<script lang="jsx">

//此处演示写的vue2语法，也可以改为vue3语法或者ts等
export default {
    data() {
        return {}
    },
    methods: {
        TaskCancleClick() {
            //通过  this.$emit('parentCall')获取生成页面$parent对象，
            this.$emit('parentCall', $parent => {
                let rows = $parent.getSelectRows();
                if (!rows.length) {
                    this.$message.error('请选需要作废暂停的作业');
                    return;
                }
                if(rows.length>1){
                    this.$message.error('暂停批次作废时，最多只能选择1个作业,已选中'+
                        rows.length+'个作业');
                    return;
                }
                if(rows[0].Status!=2){
                    this.$message.error('暂停批次作废时，作业状态必须为暂停状态,当前选中批次'+rows[0].BatchCode+
                        '状态为'+rows[0].Status);
                    return;    
                }
                $parent.$refs.gridFooter.openModel(rows[0]);
            })
        },
        RunTaskClick() {
            this.$emit('parentCall', $parent => {
                let rows = $parent.getSelectRows();
                if (!rows.length) {
                    this.$message.error('请选需要投产开工的作业批次');
                    return;
                }
                if(rows.length>1){
                    this.$message.error('开工批次作业时候，最多只能选择1个作业,已选中'+
                        rows.length+'个作业');
                    return;
                }
                if(rows[0].Status==0||rows[0].Status==2){
                   var msg='批次号'+rows[0].BatchCode+'切换投产开工状态？'
                   var setData={"BatchID":rows[0].BatchID,"Status":1};
                   this.$confirm(msg, this.$ts('警告'), {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning',
                    center: true}).then(() => {
                    this.http.post("/api/productionbatchesview/SetWorkBathStatus", setData, '更新作业任务的状态').then(date => {
                        if (date.status) {
                            this.$message.info('新批次开工：'+date.message);
                        }
                        else{
                            this.$message.error('新批次开工：'+date.message);
                        }
                        $parent.search();
                 })}).catch((e)=>{$parent.search();})
                 return; 
                }
                this.$message.error('开工批次作作业时，作业状态必须为初始化或者暂停状态,当前选中批次'+rows[0].BatchCode+
                '状态为不正确。');
            })
        },
    }
}
</script>

